import java.util.*;
import java.util.ArrayList;

public class NumArrayListLearn {
    public static void main(String[] args){
        /**
         * 增删改查
         */
        ArrayList<Integer> baseList = new ArrayList<>();

        // ======== 添加元素
	baseList.add(1);
	baseList.add(3);
	baseList.add(2);
        // ======== 插入元素，在索引 1 处添加 15
	baseList.add(1, 15);
	System.out.println(baseList);
        // ======== 修改元素，修改 索引 2
	baseList.set(1, 10);
	System.out.println(baseList);
        // ======== 删除元素，删除值为 15 的
	baseList.remove(Integer.valueOf(10));
	System.out.println(baseList);
        // ======== 遍历列表
	

        // ======== 获取元素，获取索引为 1 的
	System.out.println(baseList.get(1));
        // ======== 检查是否包含某个元素
	System.out.println(baseList.contains(3));

        // ======== 获取大小
	System.out.println(baseList.size());

        /**
         * array 和 list 相互转换
         */
        // array 转 list
	int[] nums = new int[]{2, 1, 3};
	List<Integer> list2 = Arrays.asList(Arrays.stream(nums).boxed().toArray(Integer[]::new));
	System.out.println(list2);

        // list 转 array
        ArrayList<Integer> list3 = new ArrayList<>();
	list3.add(2);
	list3.add(4);
	Object[] array = list3.toArray();
	System.out.println(array);

        // 转换为 Object 数组


        /**
         * stream 练习
         */

        // 1. 求和

        // 2. 排序（自然排序）

        // 3. 排序（自定义排序：倒序）

        // 4. 过滤出大于 15 的元素

        // 5. 将每个元素平方

        // 6. 求最大值



        // 7. 求最小值



        // 8. 统计信息

        // 9. 去重

        // 10. 将元素连接成字符串





        // 11. 遍历列表（forEach）


    }

}
